package com.ruoyi.exam.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.exam.domain.ExamPaper;
import com.ruoyi.exam.viewmodel.admin.exam.ExamPaperEditRequestVM;
import com.ruoyi.exam.viewmodel.admin.exam.ExamPaperPageRequestVM;
import com.ruoyi.exam.viewmodel.student.dashboard.PaperFilter;
import com.ruoyi.exam.viewmodel.student.dashboard.PaperInfo;
import com.ruoyi.exam.viewmodel.student.exam.ExamPaperPageVM;

import java.util.List;


/**
 * <p>
 * 试卷表 服务类
 * </p>
 *
 * @author FSD
 * @since 2024-02-18
 */
public interface IExamPaperService extends IService<ExamPaper> {

    PageInfo<ExamPaper> page(ExamPaperPageRequestVM requestVM);

    PageInfo<ExamPaper> taskExamPage(ExamPaperPageRequestVM requestVM);

    PageInfo<ExamPaper> studentPage(ExamPaperPageVM requestVM);

    ExamPaper savePaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, SysUser user);

    ExamPaperEditRequestVM examPaperToVM(Integer id);

    List<PaperInfo> indexPaper(PaperFilter paperFilter);

    Integer selectAllCount();

    List<Integer> selectMothCount();

}
